package com.sys.midware.MQ.rocketMQ.logic;

import com.sys.midware.MQ.rocketMQ.model.MsgSendResult;

/**
 * 
 * <b>ClassName：</b> IProducer <br/>
 * <b>Description：</b> 生产者接口 <br/>
 * <b>@author：</b> mobing <br/>
 * <b>@date：</b> 2015年10月19日 下午3:38:50 <br/>
 * <b>@version: </b>  <br/>
 */
public interface IProducer {

	/**
	 * 描述：
	 * 
	 * @param topic
	 *            消息主题；
	 * @param tags
	 *            消息标签（scd消息时为网站域名，图片失败反馈消息时为ip地址）
	 * @param msgContent
	 *            消息数据
	 * @return
	 */
	public MsgSendResult sendMsg(String topic, String tags, String keys,String msgContent);
	/**
	 * 
	 * sendMsg 
	 * 描述：发送消息
	 * @param  
	 * @return  MsgSendResult
	 */
	public MsgSendResult sendMsg(String topic, String tags, String msgContent);
	
	/**
	 * 发送消息附带keys
	 * sendMsgWithKeys <br/> 
	 * @param topic
	 * @param keys
	 * @param msgContent
	 * @return  MsgSendResult <br/>
	 */
	public MsgSendResult sendMsgWithKeys(String topic, String keys, String msgContent);
	
	public MsgSendResult sendMsg(String topic, String scdMsg) ;
	/**
     * 描述：启动生成者；
     * 
     */
    public void start() ;

	/**
	 * 描述：关闭生成者；
	 * 
	 */
	public void shutdown();

}
